<%
'全局配置字典
Dim g_Config
Set g_Config = Server.CreateObject("Scripting.Dictionary")

'初始化配置
Sub InitConfig()
    If g_Config.Count > 0 Then Exit Sub '如果已经初始化过，则直接返回
    
    With g_Config
        '框架配置
        .Add "DebugMode", False               '开启调试模式
        .Add "Console", True                 '是否开启控制台
        
        '运行时目录
        .Add "RuntimePath", "/runtime"        '运行时目录
        
        '数据库配置
        .Add "DbType", "access"              '数据库类型：mysql,access,mssql,sqlite
        .Add "DbHost", "localhost"           '数据库主机
        .Add "DbName", "/__IsData__/blog.mdb" '数据库名
        .Add "DbUser", ""                    '用户名
        .Add "DbPass", ""                    '密码
        .Add "DbPort", 0                     '端口号
        .Add "DbPrefix", ""                  '表前缀
        .Add "DbCharset", "utf8"             '字符集
        
        '分页配置
        .Add "PageParam", "page"             '分页参数名
        .Add "PageStyle", "bootstrap"        '分页样式：bootstrap,simple
        .Add "PagePrevText", "上一页"        '上一页文字
        .Add "PageNextText", "下一页"        '下一页文字
        .Add "PageFirstText", "首页"         '首页文字
        .Add "PageLastText", "末页"          '末页文字
        .Add "PageNumCount", 10              '显示的页码数量
        .Add "PageShowTotal", True           '是否显示总页数

        '缓存配置
        .Add "CacheType", "file"             '缓存类型：file,memcache,redis
        .Add "CachePath", "/runtime/cache"   '缓存目录
        .Add "CacheTime", 3600               '缓存时间(秒)
        
        '会话配置
        .Add "SessionType", "file"           '会话类型：file,memcache,redis
        .Add "SessionPath", "/runtime/session" '会话目录
        .Add "SessionTime", 20               '会话时间(分钟)
        .Add "SessionPrefix", "FA_"          '会话前缀
        .Add "CookiePrefix", "fa_"           'Cookie前缀
        .Add "CookiePath", "/"               'Cookie路径
        .Add "CookieDomain", ""              'Cookie域
        .Add "CookieSecure", True            '是否只通过HTTPS传输
        .Add "CookieHttpOnly", True          '是否禁止JavaScript访问

        '日志配置
        .Add "LogPath", "/runtime/logs"      '日志目录
        .Add "LogLevel", "DEBUG"             '日志级别:ALL,DEBUG,INFO,WARNING,ERROR,FATAL,SQL,NONE

        '上传配置
        .Add "UploadPath", "/runtime/upload"    '上传目录
        .Add "UploadMaxSize", 10485760         '最大文件大小(10MB)
        .Add "UploadAllowExt", "jpg,jpeg,gif,png,bmp,zip,rar,doc,docx,xls,xlsx,txt" '允许上传的文件类型
        .Add "UploadCharset", "utf-8"         '上传字符集

        '图片配置
        .Add "ImageSize", 10                 '图片大小限制(MB)
        .Add "ImageExts", "jpg,jpeg,png,gif" '允许上传的图片类型
        .Add "ImageWidth", 800               '图片最大宽度
        .Add "ImageHeight", 800              '图片最大高度
        .Add "ImageQuality", 80              '图片质量(0-100)

        '加密配置
        .Add "CryptKey", "FastAsp"           '加密密钥
        .Add "CryptType", "md5"              '加密方式：md5,sha1,sha256

        '模板配置
        .Add "TemplateDir", "/templates"     '模板目录
        .Add "TemplateExt", ".html"          '模板后缀
        .Add "TemplateParse", True           '是否开启模板解析
        .Add "TemplateCache", True           '是否开启模板缓存
        .Add "JumpTemplate", "FastAsp/Templates/jump.tpl"      '跳转页面模板

        '错误处理
        .Add "ShowError", True               '是否显示错误信息
        .Add "LogError", True                '是否记录错误日志
        .Add "ErrorMessage", "抱歉，系统发生错误，请稍后重试或联系管理员。" '生产环境错误提示
        .Add "ErrorLogPath", "/runtime/logs/error.log" '错误日志路径

        '语言配置
        .Add "LangPath", "/languages"        '语言包目录
        .Add "DefaultLang", "zh-CN"          '默认语言

        '安全配置
        .Add "TokenOn", True                 '是否开启表单令牌验证
        .Add "TokenName", "__token__"        '令牌名称
        .Add "TokenType", "md5"              '令牌生成方式：md5,sha1
        .Add "XssFilter", True               '是否开启XSS过滤
        .Add "SqlFilter", True               '是否开启SQL注入过滤

        '连接池配置
        .Add "DbMaxPoolSize", 10      '最大连接数
        .Add "DbMinPoolSize", 2       '最小连接数
        .Add "DbPoolTimeout", 3000    '连接超时时间(毫秒)

        '404模板配置
        .Add "404Template", "FastAsp/Templates/404.tpl"      '404页面模板

        '维护页面模板
        .Add "MaintainTemplate", "FastAsp/Templates/maintain.tpl"  '维护页面模板
    End With
End Sub

'获取配置值
Function GetConfig(key)
    If g_Config.Exists(key) Then
        GetConfig = g_Config(key)
    Else
        GetConfig = Empty
    End If
End Function

'设置配置值
Sub SetConfig(key, value)
    If g_Config.Exists(key) Then
        g_Config(key) = value
    Else
        g_Config.Add key, value
    End If
End Sub

'初始化配置
InitConfig()
%>
